import java.util.Arrays;

public class question_56 {
}
class Solution_56 {
    public int[][] merge(int[][] intervals) {
        if(intervals==null||intervals.length==1)
            return intervals;
        //先对数组进行排序，可以使用java中已经有的工具类
        Arrays.sort(intervals,(a,b)->a[0]-b[0]);//java的lambda表达式
        int len=intervals.length;
        int arr[]=new int[len*2];
        int l=intervals[0][0],r=intervals[0][1],n=0;
        for (int i = 1; i < len; i++) {
            if(intervals[i][0]>r){
                arr[n++]=l;
                arr[n++]=r;
                l=intervals[i][0];
                r=intervals[i][1];
            }else{
                r=r>intervals[i][1]?r:intervals[i][1];
            }
        }
        arr[n++]=l;
        arr[n++]=r;
        int result[][]=new int[n/2][2];
        n=0;
        for (int i = 0; i < result.length; i++) {
            result[i][0]=arr[n++];
            result[i][1]=arr[n++];
        }
        return result;
    }
}
